GNUH8 v0902

June 10th, 2009

KPIT Cummins Infosystems Limited is releasing the GNUH8 v0902 toolchain, which is a cross compiler tool for Renesas 

(formerly Hitachi and Mitsubishi) H8 series of microcontrollers.

SALIENT FEATURES:

1.   

The GNUH8 v0902 toolchain is based on gcc-4.3.3 [released], binutils-2.19 [released], newlib-1.16.0 [released] and gdb-6.8.50 [dated 27th March 2009].

2.

The latest patches have been applied to the gcc, binutils and newlib sources. Please refer to the following link for the patches applied to the GNUH8 toolchain, http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=001005&id=42&lang=en 

3.

The separate GUI interfaces in HEW for the library generator, the compiler, the assembler and the linker build phases have been replaced by a single interface to allow users to make application-wide changes far more easily.

4.

The v0902 GDBH8 debugger is now MinGW based.

ABOUT GNUH8 v0902:

Release version:

GNUH8 v0902

Release Date:

June 10th, 2009

Platforms Supported:

Red Hat GNU/Linux v8.0 or later (or compatible distribution)
Windows NT/2000/XP/Vista

NOTE: Windows 7 RC is not yet officially supported but early testing shows no compatibility issues.

Language:

C, C99, C++

Targets:

H8/300

 

H8/300L 

 

H8/300H

 

H8/300H Tiny Series

 

H8/S 2XXX

 

H8/S 26XX

 

H8/SX

Object File Format:

ELF

 

        For free technical support please register at http://www.kpitgnutools.com/
        For your feedback and suggestions please visit http://www.kpitgnutools.com/feedback.php

 

 

CHANGES IN THIS RELEASE:

This section describes the enhancements made and the issues fixed in the v0902 release.

GCC:

1.

While using optimised libraries, the compiler did not correctly allocate the memory for the malloc function. This bug has now been fixed.

2.

The MOVA instructions generated by the GNUH8 toolchain did not specify the address size of the source operand. Due to this, wrong effective address was generated. This bug has now been fixed by generating MOVA instructions with suffix :16 or :32 in the source operand.

HEW (For Windows OS only):

1.

The linker paths were set incorrectly while selecting 'normal' and 'int32' CPU options in the compiler settings. This bug has now been fixed.

2.

Additional CPU options specified under the compiler tab in HEW build phase settings were not updated automatically in the library generator phase and the user was prompted to open the Linker/ Library Generator option dialogs and click on "OK". This bug has now been fixed by providing a single interface for setting the compiler, assembler, linker and library generator options.

3.

Up to version v0901, after changing the "Library Generator" settings, the user was prompted to open the Compiler/ Linker option dialogs and click on "OK". This bug has now been fixed by providing a single interface for setting the compiler, assembler, linker and library generator options.

4.

Use of the Flash Development Tool (FDT) plug-ins under HEW on Windows Vista is deprecated. Hence, users are advised to download the latest version of the FDT application and use it independently for Flash downloads.

 

KNOWN LIMITATIONS IN H8-ELF:

This section describes the known problems in this release. We intend to fix these issues in future releases.

We occasionally release maintenance packs for critical bug fixes.

 

Windows and GNU/Linux:

1.

The following code when compiled for H8300H, H8300HN, H8S, H8SN, H8SX, and H8SXN targets with optimisation option '-O1' or above, generates incorrect assembly code.

unsigned int ReadWordx86Style(unsigned long lAddr)
{
unsigned char baBuff[2];
baBuff[0x00]=*((unsigned char *)((unsigned int)(lAddr+1)));
baBuff[0x01]=*((unsigned char *)((unsigned int)(lAddr+0)));
return((*(unsigned int *)baBuff));
}

int start(void)
{
unsigned char baBuff[256];
unsigned int wResult;
wResult = ReadWordx86Style((unsigned long)((unsigned int)baBuff));
return(wResult);
}

2.

The '.tinybss' implementation does not work as expected.

3.

The GNUH8 assembler (h8300-elf-as) does not give error if attribute of a section is not specified.

4.

The 'scanf' and 'sscanf' functions of newlib do not work for H8300HN, H8SN and H8SXN targets when '-mint32' is passed to the compiler.

5.

Library Generator: Please refer to the following link for the known issues and limitations related to this utility,
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=001002&id=413&lang=en

 

HEW (For Windows OS only):

1.

In HEW, when optimised libraries are used in C++ projects, the linker generates "undefined references" error for some ANSI C library functions as they are not implemented.

Workaround:
Users can add their own implementation of these functions or can provide dummy routines depending upon the usage.

2.

The 'Generate Makefile' feature is currently not supported in HEW.

3.

For other limitations pertaining to the single interface for the compiler, assembler, linker and library generator, please refer to the following link,
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=003001&id=445&lang=en

 NOTE:

Windows and GNU/Linux:

1. 

The optimised libraries are provided along with the newlib libraries in the toolchain and do not require a separate download.

2.

The optimised libraries ('liboptm.a' and 'liboptc.a') are not provided under GNU GPL. The source code of these optimised libraries is neither released nor available on request.

3.

The "libgen" utility is not provided under GNU GPL. The source code of the "libgen" utility is neither released nor available on request.